package com.board.controller;


import cn.hutool.core.bean.BeanUtil;
import com.board.dto.AccountRoleDto;
import com.board.form.AccountRoleForm;
import com.board.form.RoleListForm;
import com.board.form.UpdateAccountRoleForm;
import com.board.param.AccountRoleParam;
import com.board.param.RoleListParam;
import com.board.service.AccountRoleService;
import com.board.util.PageInfo;
import com.board.util.Result;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;

/**
 * <p>
 *  前端控制器
 * </p>
 *
 * @author 小叶
 * @since 2024年04月03日
 */
@RestController
@RequestMapping("/accountRole")
@Api(tags = "角色资源信息")
public class AccountRoleController {
    @Autowired
    private AccountRoleService accountRoleService;

    /**
     * 查询账号拥有的角色
     * @param form 查询条件，包含账号名称和分页条件
     * @return
     */
    @GetMapping("/findAccountRole")
    @ApiOperation("查询账号拥有的角色")
    public Result loadAccountRole(AccountRoleForm form){
        PageInfo<AccountRoleDto> pageInfo= accountRoleService.loadAccountRole(BeanUtil.toBean(form, AccountRoleParam.class));
        return Result.success("查询所有用户拥有的角色成功",pageInfo);
    }

    /**
     * 修改账号拥有的角色
     * @param form 要修改的账号id和修改为的角色id
     * @return 返回修改后的角色信息
     */
    @PostMapping("/accountToRole")
    @ApiOperation("修改账号拥有的角色")
    public Result accountToRole(@RequestBody UpdateAccountRoleForm form){
        AccountRoleDto dto= accountRoleService.accountToRole(form);
        return Result.success("账号授予角色成功",dto);
    }


}

